One of the important roles of storage systems accumulating information in the information-oriented society is protection of user data. As a function for protecting user data, a snapshot function is well-known.
The snapshot function refers to the function of freezing an in-use volume at a certain date and time and providing the frozen data image to a user computer such as a host computer. The frozen data image of the volume is called a snapshot. The storage apparatus can provide multiple generations of snapshots to the user.
The snapshot function is for salvaging data from operational mistakes such as a case where the user involuntarily deletes a file.
The user can restore data at the point in time when a snapshot was created by returning to a snapshot of a desired generation such as a previous generation. That is, the snapshot function is for guaranteeing a data image of a volume as of a certain date and time to the user.
A conventional technology disclosing this snapshot function is, for example, described in the Japanese Unexamined Patent Application Publication No. 2004-342050. According to this publication, a file server as a storage apparatus provides a snapshot as a virtual volume to a client computer.
The file server, with reference to a primary volume as an in-use volume to which the client computer continuously accesses and a differential volume storing the data in the primary volume before being updated (pre-update data), provides a snapshot to the user.
If there is a write access from the client computer to the primary volume after the file server acquires a snapshot, the file server reads the pre-update data from the primary volume, writes this [data] to the differential volume, and then, records the update data in the primary volume. Which block of the primary volume was updated is managed with a bitmap.
When the client computer accesses a virtual volume for a snapshot, the file server refers to the bitmap and, in case of an access to the block address with a flag on, because the corresponding area in the primary volume has been updated, the file server reads the pre-update data from the differential volume while, in case of an access to a block address with no flag being set, because the corresponding area in the primary volume has not been updated, it reads the data from the primary volume, and provides the read data to the client computer.
Note that another conventional technology related to this invention is the Japanese Unexamined Patent Application Publication No. 2005-284609 and the Japanese Unexamined Patent Application Publication No. 2007-226596.